# 已知18位身份证号
id_card = "110101199003074512"

# 1. 提取前6位地址码
address_code = id_card[:6]  # 切片左闭右开，[:6] 等价于 [0:6]
print("1. 地址码（前6位）：", address_code)

# 2. 提取出生年（第7-10位），两种索引方式
# 方式1：正索引（Python索引从0开始，第7位对应索引6，第10位对应索引9）
birth_year_pos = id_card[6:10]
# 方式2：负索引（倒数第9位到倒数第5位，左闭右开）
birth_year_neg = id_card[-12:-8]
print("\n2. 出生年 - 正索引方式：", birth_year_pos)
print("   出生年 - 负索引方式：", birth_year_neg)

# 3. 提取出生月（11-12位）和出生日（13-14位），并格式化输出
birth_month = id_card[10:12]  # 第11位对应索引10，第12位对应索引11
birth_day = id_card[12:14]    # 第13位对应索引12，第14位对应索引13
print("\n3. 出生年月：{} 年 {} 月 {} 日".format(birth_year_pos, birth_month, birth_day))

# 4. 根据身份证号获取性别信息（18位身份证：第17位为性别码，奇数=男性，偶数=女性）
gender_code = id_card[16]  # 第17位对应索引16（0开始计数）
# 判断性别：将字符型性别码转为整数，判断奇偶性
if int(gender_code) % 2 == 1:
    gender = "男性"
else:
    gender = "女性"
print("\n4. 性别：", gender)